use crate::c::{osDelay, osKernelGetTickCount, osKernelInitialize, osKernelStart};

pub mod thread;
pub mod message_queue;
pub mod mutex;
pub mod event_flags;

#[inline(always)]
pub fn os_kernel_initialize() {
    unsafe { 
        osKernelInitialize();
    }
}

#[inline(always)]
pub fn os_kernel_start() {
    unsafe {
        osKernelStart();
    }
}

#[inline(always)]
pub fn os_kernel_get_tick_count() -> u32 {
    unsafe {
        osKernelGetTickCount()
    }
}

#[inline(always)]
pub fn os_delay(tick: u32) {
    unsafe {
        osDelay(tick);
    }
}

